今天我们将来一起看一下 C# 中的另外一种数据类型:字典。
字典,是一组 key 和 value 的映射,且 key 是唯一的。
字典包含在 System.Collections.Generic namespace。
下面我们来看一下,如何创建一个字典:
using System;
using System.Collections.Generic;
namespace ConsoleApp14
{
class Program
{
static void Main(string[] args)
{
// 创建一个空字典
Dictionary<string, string> students = new Dictionary<string, string>();
students.Add("00001", "Tom"); // 添加数据到字典(key 和 value)
students.Add("00002", "Jerry");
Console.WriteLine($"00001 is {students["00001"]}"); // 通过 key 查询 value
}
}
}
运行结果:
我们再来看看字典的其他操作:
using System;
using System.Collections.Generic;
namespace ConsoleApp14
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> students = new Dictionary<string, string>();
students.Add("00001", "Tom");
students.Add("00002", "Jerry");
Console.WriteLine($"00001 is {students["00001"]}");
foreach (var (key,value) in students) // 变量字典中的 key 和 value
{
Console.WriteLine($"{key} is {value}");
}
Console.WriteLine("-----------------------");
foreach (var student in students) // 遍历字典中的 key 和 value 的另一种方法
{
Console.WriteLine($"{student.Key} is {student.Value}");
}
Console.WriteLine("-----------------------");
foreach (var val in students.Values) // 遍历 value
{
Console.WriteLine($"{val}");
}
Console.WriteLine("-----------------------");
foreach (var key in students.Keys) // 遍历 key
{
Console.WriteLine($"{key}");
}
Console.WriteLine("-----------------------");
Console.WriteLine($"{students.ContainsKey("00002")}"); // 查询字典中是否存在某个 key
Console.WriteLine($"{students.ContainsValue("Tom")}"); // 查询字典中是否存在某个 value
Console.WriteLine($"{students.Count}"); // 计算字典中的 key value 对的个数
Console.WriteLine("-----------------------");
students.Remove("00001"); // 根据 key 删除 key value 对
foreach (var (key, value) in students)
{
Console.WriteLine($"{key} is {value}");
}
students.Clear(); // 清空字典
Console.WriteLine($"{students.Count}");
}
}
}
运行结果: